import { defineStore } from 'pinia'
import { ref, computed } from 'vue'
import { useNameStore } from './name'

// 选项式
// export const useDemoStore = defineStore('demo', {
//   state: () => ({
//     count: 0,
//   }),
//   // 也可以这样定义
//   // state: () => { return { count: 0 } }
//   actions: {
//     addCount() {
//       this.count++
//     },
//     changeName() {
//       const name = useNameStore()
//       name.name = '改变了'
//     }
//   },
//   getters: {
//     getCount(state) {
//       return state.count * 10
//     },
//     getName() {
//       const name = useNameStore()
//       return name.name
//     }
//   }
// })

// 组合式
export const useDemoStore = defineStore('demo', () => {
  const count = ref(0)
  const name = useNameStore()

  const getName = computed(() => {
    return name.name
  })
  const getCount = computed(() => {
    return count
  })

  function addCount() {
    count.value++
  }

  function changeName() {
    name.name = '改变了'
  }

  return {
    count,
    getName,
    getCount,
    addCount,
    changeName
  }
})